Ever since the 1990s, many countries all over the world have paid much attention to information and information industries, which greatly promoted the development of information technologies. With the popularity of the Internet, the population surfing the Internet is increasing in exponential terms. And with the increase of network bandwidth, the advancement of computer hardware and software technologies as well as the requirements of human beings, societies and economies, multimedia services is taking a larger and larger proportion on the Internet. High-bandwidth multimedia applications, such as video conference, video on demand, multimedia remote education and remote consultation, occupy a great part of the network resources, and the massive voice and video data deteriorate the congestion of the network. The cause is that the data is transmitted by point-to-point unicast, and a source node must establish a connection for each session to transmit the data, therefore, there are large amounts of duplicated data on the backbone network, which leads to the decrease of communication efficiency, and also aggravates the load of the network. If broadcast is adopted, an Internet Protocol (IP) packet can be transmitted to all the hosts on one segment, but since not all the hosts need the packet, and the broadcast is also limited within one segment, it can not satisfy the requirement of the multimedia applications. In such a situation, multicast emerges.
Multicast is a network technology which allows one or more hosts, as multicast source(s), to transmit a single data packet to multiple hosts. Comparing with the unicast, no matter how many receivers there are on the link, the data packet is transmitted only once. The data packet is duplicated only at an intersection of different receivers. By the traditional unicast technique, the data source has to send as many copies of the data packet as the number of the receivers. Therefore, multicast is a more reasonable data transmission technique, applicable in point-to-multipoint or multipoint-to-multipoint application environments. When a host desires to receive multicast data, it joins a multicast group at first, which is identified by a Class D IP address. After a multicast router receives the message indicating that the host has joined in the multicast group, it establishes a multicast tree between a transmitter and the receiver so as to lead the multicast data to reach the receiver. When the receiver does not exist any more, the multicast router will remove the connection between the multicast source and the receiver.
There are two kinds of IP multicast service models: Any-Source Multicast (ASM) and Source-Specific Multicast (SSM).
In the ASM model, the packet is transmitted to a host group, wherein, the host group refers to a group of hosts or routers which are identified by a group address G. A receiver can receive the IP packet just by requesting to join the group. The ASM adopts the group address G to identify a multicast group, and each group can have any number of sources and receivers, and a source can be a receiver at the same time.
In the SSM model, a pair of multicast source address S and multicast address G (S, G) is used to identify a session, also called a channel. A receiver needs to know not only the multicast address G, but also the multicast source address S. The packet is transmitted from a specific source S to an SSM multicast address G. A receiver can receive the IP packet by subscribing to the channel (S, G). The multicast source address S and the multicast address G are used to identify a multicast group, and each channel can have only one specific source and any number of receivers.
Early versions of the multicast routing protocols are designed following the ASM model. In this model, a receiver cannot designate packets from which source are desired when it joins a group, thus it will receive all the packets transmitted to the group from any source. However, the bandwidth of the link between a host and its neighbor router is limited, if the group has many sources, it is not only a waste of the bandwidth, but also possibly causes network congestion. Therefore, the ASM model is not suitable for commercial applications. In practical applications, a majority of multimedia services are source-specific; therefore, there emerges multicast routing protocols based on the SSM model, such as Protocol Independent Multicast-Source Specific Multicast (PIM-SSM), which is provided by the Internet Engineering Task Force (IETF) based on a Protocol Independent Multicast-Sparse Mode (PIM-SM).
However, in order to support the multicast routing protocols based on the SSM model, irrelevant sources must be filtered. Therefore, new versions of the group management protocols, such as Internet Group Management Protocol version 3 (IGMPv3) and Multicast Listener Discovery version 2 (MLDv2), are all equipped with source filtering abilities. There are two source filtering modes: inclusive mode and exclusive mode. The inclusive mode means to only receive packets transmitted to the multicast addresses that are included in a source list. The exclusive mode means to only receive packets transmitted to the multicast addresses that are not included in the source list.
Taking the MLDv2 described in the RFC3810 as an example, the source filtering mode of each interface of the multicast router is determined by the source filtering modes of all the multicast receiving hosts in the subnet directly connected to the interface, the switching will take place when a state change report is received from the receiving host or when the timer expires.